package datosClient;


//import java.util.*;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Aiskel
 */
//import java.util.*;
//import java.io.*;
//import java.util.logging.Level;
//import java.util.logging.Logger;


public class Usuario
{
      private String nickname;
      private String clave;
      private String nombre;
      private String apellido;
      private int score;
      private int contIngreso;
      private int dia;
      private int mes;
      private int año;
     // private Jcalendar2 fechaNac;
      Partida partida;
     // private List <String> listRandom;
      ListaPieza piezasUC;
      private Avatar avatar;
      private static Usuario instance=null;


       public static Usuario getInstance()
    {
        if (instance == null)
            instance = new Usuario();

        return instance;
    }


     /* public Usuario()
      {
        nickname="";
        clave="";
        nombre="";
        apellido="";
        score=0;
        contIngreso=0;
        fechaNac = new Jcalendar2();
        partida=new Partida();
     //   listRandom = new ArrayList();
        
      }
*/
       private Usuario()
       {
        nickname="";
        clave="";
        nombre="";
        apellido="";
        score=0;
        contIngreso=0;
        //fechaNac = new Jcalendar2();
        dia = mes = año = 0;
        partida = new Partida();
        //listRandom = new ArrayList();
        piezasUC = new ListaPieza();
       }

        private Usuario ( String nickname,String clave,String nombre, String apellido,int dia,int mes,int año)
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.nickname = nickname;
            this.clave = clave;
            //this.fechaNac = new Jcalendar2(dia,mes,año);
            this.dia = dia;
            this.mes = mes;
            this.año = año;
            partida = new Partida();
            this.avatar=new Avatar();
            //listRandom = new ArrayList();
             piezasUC = new ListaPieza();
        }

        private Usuario (String nickname, String clave, String nombre,String apellido,int dia,int mes,int año,Avatar avatar)
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.nickname = nickname;
            this.clave = clave;
            this.dia = dia;
            this.mes = mes;
            this.avatar = avatar;
        }

    public int getAño() {
        return año;
    }

    public int getDia() {
        return dia;
    }

    public int getMes() {
        return mes;
    }

    public void setAño(int año) {
        this.año = año;
    }

    public void setDia(int dia) {
        this.dia = dia;
    }

    public void setMes(int mes) {
        this.mes = mes;
    }

    public ListaPieza getPiezasUC() {
        return piezasUC;
    }

    public void setPiezasUC(ListaPieza piezasUC) {
        this.piezasUC = piezasUC;
    }

     //  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
///*



       public Partida getPartidas() {
            return partida;
        }

///*
       public boolean setPartidas(Partida partidas) {
            this.partida=partidas;
            return true;
        }
/*
    public List<String> getListRandom() {
        return listRandom;
    }

    public void setListRandom(List<String> listRandom) {
        this.listRandom = listRandom;
    }
*/
  

        public String getApellido() {
            return apellido;
        }

        public void setApellido(String apellido) {
            this.apellido = apellido;
        }

        public String getClave() {
            return clave;
        }

        public void setClave(String clave) {
            this.clave = clave;
        }

        public int getContIngreso() {
            return contIngreso;
        }

        public void setContIngreso(int contIngreso) {
            this.contIngreso = contIngreso;
        }

        public String getNickname() {
            //System.out.println("\n nick: "+nickname+"\n");
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getNombre() {
            return nombre;
        }

        public void setNombre(String nombre) {
            this.nombre = nombre;
        }

        public int getScore() {
            return score;
        }

        public void setScore(int score) {
            this.score = score;
        }
/*
        public Jcalendar2 getFechaNac() {
            return fechaNac;
        }

        public void setFechaNac(Jcalendar2 fechaNac) {
            this.fechaNac = fechaNac;
        }
*/


        
/*
        public boolean BuscarNumRandomList(String valor)
        {
            Iterator ite = listRandom.iterator();
            int cont =0;
            int comparo;

            Object [] arregloRandom; String valorArregloRandom="";

            arregloRandom = listRandom.toArray();

            while (ite.hasNext())
            {
                valorArregloRandom="";
                valorArregloRandom = (String) arregloRandom[cont];
                comparo=valor.compareTo(valorArregloRandom);

                if (comparo == 0)
                {
                    return true;
                }
                cont = cont++; 
            }
            return false;
        }




        public void RandomID()
        {
            String valor="";
            int posicion=0;
            boolean estaNum = false;

            while (!estaNum)
            {
              valor="";
              posicion = (int)(Math.random());
              valor = String.valueOf(posicion);
              estaNum = BuscarNumRandomList(valor);
            }

            if (estaNum)
            {
                partida.setPartidaID(valor);
                listRandom.add(valor);
            }
            return valor;
        }*/







  public String toString()
    {
        String cadena = "";

        cadena += "Nombre: " + this.getNombre() + "\n";
        cadena += "Apellido: " + this.getApellido() + "\n";
        cadena += "Nickname: " + this.getNickname() + "\n";
        cadena += "Clave: " + this.getClave()+ "\n";
        cadena += "Dia: " + this.getDia()+ "\n";
        cadena += "Mes: " + this.getMes() + "\n";
        cadena += "Año: " + this.getAño() + "\n";

        //System.out.println(cadena);

        return cadena;
    }



/*
     public boolean equals(Object objeto)
    {
        Usuario segundoObjeto;

        if (! (objeto instanceof Usuario))
            return false;

        segundoObjeto = (Usuario) objeto;

        //if (this.nombre.equals(segundoObjeto.nombre) && this.apellido.equals(segundoObjeto.apellido) && this.cargo.equals(segundoObjeto.cargo))
        if (nickname.hashCode() == segundoObjeto.nickname.hashCode())
        {
            return true;
        }

        return false;
    }

    public int hashCode()
    {
       int hash = 0;
       hash += (nickname != null ? nickname.hashCode():0);

       return hash;
    }
*/
  
}